4 research outputs found
NL2CMD: An Updated Workflow for Natural Language to Bash Commands Translation
Translating natural language into Bash Commands is an emerging research field
that has gained attention in recent years. Most efforts have focused on
producing more accurate translation models. To the best of our knowledge, only
two datasets are available, with one based on the other. Both datasets involve
scraping through known data sources (through platforms like stack overflow,
crowdsourcing, etc.) and hiring experts to validate and correct either the
English text or Bash Commands.
This paper provides two contributions to research on synthesizing Bash
Commands from scratch. First, we describe a state-of-the-art translation model
used to generate Bash Commands from the corresponding English text. Second, we
introduce a new NL2CMD dataset that is automatically generated, involves
minimal human intervention, and is over six times larger than prior datasets.
Since the generation pipeline does not rely on existing Bash Commands, the
distribution and types of commands can be custom adjusted. Our empirical
results show how the scale and diversity of our dataset can offer unique
opportunities for semantic parsing researchers
ChatGPT Prompt Patterns for Improving Code Quality, Refactoring, Requirements Elicitation, and Software Design
This paper presents prompt design techniques for software engineering, in the
form of patterns, to solve common problems when using large language models
(LLMs), such as ChatGPT to automate common software engineering activities,
such as ensuring code is decoupled from third-party libraries and simulating a
web application API before it is implemented. This paper provides two
contributions to research on using LLMs for software engineering. First, it
provides a catalog of patterns for software engineering that classifies
patterns according to the types of problems they solve. Second, it explores
several prompt patterns that have been applied to improve requirements
elicitation, rapid prototyping, code quality, refactoring, and system design
Deep Learning Models on CPUs: A Methodology for Efficient Training
GPUs have been favored for training deep learning models due to their highly
parallelized architecture. As a result, most studies on training optimization
focus on GPUs. There is often a trade-off, however, between cost and efficiency
when deciding on how to choose the proper hardware for training. In particular,
CPU servers can be beneficial if training on CPUs was more efficient, as they
incur fewer hardware update costs and better utilizing existing infrastructure.
This paper makes several contributions to research on training deep learning
models using CPUs. First, it presents a method for optimizing the training of
deep learning models on Intel CPUs and a toolkit called ProfileDNN, which we
developed to improve performance profiling. Second, we describe a generic
training optimization method that guides our workflow and explores several case
studies where we identified performance issues and then optimized the Intel
Extension for PyTorch, resulting in an overall 2x training performance increase
for the RetinaNet-ResNext50 model. Third, we show how to leverage the
visualization capabilities of ProfileDNN, which enabled us to pinpoint
bottlenecks and create a custom focal loss kernel that was two times faster
than the official reference PyTorch implementation